Gathering Data

These are all measured using live sites. This is required to get ads to behave reasonably, though it introduces some variance between runs.

We’ve excluded pages which didn’t reach first Consistently Interactive across all tests.

Overall Distribution

Each point represents one run on a specific site. In this aggregate view, it’s difficult to see any difference between the subresource filter being on or off. The clean, low bands seen in most graphs appear to be pages which 404 in our page set.

Overall Distribution (Sampled)

We’ve included this view to make it easy to pick out sample sites which fall in various places in these distributions.

Overall Distribution (Density)

The x-axis here is the number of seconds taken to reach each key point in time. The y-axis is density: how common are values around this one?

Turn lines on and off by clicking on them in the legend. It’s interesting that the CPU graphs are generally pretty close to unimodal (apart from a lump at the bottom we believe to be 404 pages), but the wall time graphs are strongly multimodal.

Selecting pairs which differ only between the subresource filter being on and off illustrates the difference, which is largest for Consistently Interactive.

Table for First Contentful Paint

First Contentful Paint

In the mean, we’re essentially solely blocked on resource requests.

otherNetworkActivities refers to resource requests handled on the browser side. We need to figure out if we can split these out more.

We use a hierarchy to attribute time. Of the following, we attribute time to the first activity present.

Our CPU time slightly higher for warm than cold loads in the mean. This is because FCP itself is later, giving more time for CPU work.

From the breakdowns we do have, we can see that time spent fetching script and images dominates.

Zooming into the CPU work shows that most time is spent executing script, and on “resource_loading”. I’m not certain what that work is. TODO

First Contentful Paint | Quantiles

The normalized data shows that the fraction of time spent per category is surprisingly consistent. Pages which are slower tend to have larger scripts, illustrated by both the time spent fetching and executing scripts increasing in those cases. Image loading is much more of an issue on the first load than subsequent loads.

First Contentful Paint | Normalized by quantiles

Time To Interactive

Time To Interactive | Quantiles

Time To Interactive | Normalized by quantiles

Important Timestamp Deltas

This shows the mean contribution per contributor per important timestamp. The first column is time from navigation start to first paint.

Per Second Contributors

This shows the mean contribution per contributor per important second.

Below is the mean contribution per contributor per important second, only for the worst 100 sites (measured by wall clock TTI, without the subresource filter, with a cold cache. )